#ifndef TEXTUREMANAGER_H
#define TEXTUREMANAGER_H

#include "d3d9.h"
#include <map>
#include <string>

using std::map;
using std::string;

class TextureManager
{
public:
	TextureManager();
	~TextureManager();
	TextureManager(TextureManager& _TextureManager);

	static bool LoadTexture(string _filePath, IDirect3DTexture9*& _texture);
	static bool CreateTexture(UINT _width, UINT _height, UINT _levels, DWORD _usage, D3DFORMAT _format, D3DPOOL _pool, IDirect3DTexture9*& _texture, HANDLE _sharedHandle);
	static void ClearTextureCache();

private:
	static map<string, IDirect3DTexture9*> textureMap;
};

#endif